package com.lzl.GetClass;

import java.lang.reflect.Method;

public class AccessPersonMethods {
    public static void main(String[] args) {
        try {
            Class clz=Class.forName("BaseClass.Person");
            Method getAge=clz.getDeclaredMethod("getAge",null);
            getAge.setAccessible(true);

            Object returnAge=getAge.invoke(null,null);
            System.out.println("年龄是："+returnAge);

            Object person=clz.newInstance();

            Method silentMethod=clz.getDeclaredMethod("silentMethod",null);

            silentMethod.setAccessible(true);

            silentMethod.invoke(person,null);

            Method setName=clz.getDeclaredMethod("setName", String.class);

            setName.invoke(person,"New Person");

            Object returnName=clz.getDeclaredMethod("getName").invoke(person);
            System.out.println("刚才设定的name是："+returnName);
        }catch (Exception e){
            e.printStackTrace();
        }
    }
}
